<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Faiss: faiss::gpu::GpuIndexFlatConfig Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Faiss
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacefaiss.html">faiss</a></li><li class="navelem"><b>gpu</b></li><li class="navelem"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html">GpuIndexFlatConfig</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">faiss::gpu::GpuIndexFlatConfig Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for faiss::gpu::GpuIndexFlatConfig:</div>
<div class="dyncontent">
 <div class="center">
  <img src="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.png" usemap="#faiss::gpu::GpuIndexFlatConfig_map" alt=""/>
  <map id="faiss::gpu::GpuIndexFlatConfig_map" name="faiss::gpu::GpuIndexFlatConfig_map">
<area href="structfaiss_1_1gpu_1_1GpuIndexConfig.html" alt="faiss::gpu::GpuIndexConfig" shape="rect" coords="0,0,182,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:afd694186c87751937a646f3db2c8ba3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd694186c87751937a646f3db2c8ba3d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">useFloat16</a></td></tr>
<tr class="memdesc:afd694186c87751937a646f3db2c8ba3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether or not data is stored as float16. <br/></td></tr>
<tr class="separator:afd694186c87751937a646f3db2c8ba3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2d8737f4277e55fc1a99ef4fc4c630"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#a5a2d8737f4277e55fc1a99ef4fc4c630">useFloat16Accumulator</a></td></tr>
<tr class="separator:a5a2d8737f4277e55fc1a99ef4fc4c630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0342a26f5e59563bfe04f3f80e3b27f0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#a0342a26f5e59563bfe04f3f80e3b27f0">storeTransposed</a></td></tr>
<tr class="separator:a0342a26f5e59563bfe04f3f80e3b27f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structfaiss_1_1gpu_1_1GpuIndexConfig.html">faiss::gpu::GpuIndexConfig</a></td></tr>
<tr class="memitem:aab05a0aa7b42feae7df4e556a52ead57 inherit pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab05a0aa7b42feae7df4e556a52ead57"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">device</a></td></tr>
<tr class="memdesc:aab05a0aa7b42feae7df4e556a52ead57 inherit pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPU device on which the index is resident. <br/></td></tr>
<tr class="separator:aab05a0aa7b42feae7df4e556a52ead57 inherit pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf7c9461009108a9a433a077ab322d2e inherit pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td class="memItemLeft" align="right" valign="top">MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#adf7c9461009108a9a433a077ab322d2e">memorySpace</a></td></tr>
<tr class="separator:adf7c9461009108a9a433a077ab322d2e inherit pub_attribs_structfaiss_1_1gpu_1_1GpuIndexConfig"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="GpuIndexFlat_8h_source.html#l00025">25</a> of file <a class="el" href="GpuIndexFlat_8h_source.html">GpuIndexFlat.h</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a0342a26f5e59563bfe04f3f80e3b27f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool faiss::gpu::GpuIndexFlatConfig::storeTransposed</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether or not data is stored (transparently) in a transposed layout, enabling use of the NN GEMM call, which is ~10% faster. This will improve the speed of the flat index, but will substantially slow down any add() calls made, as all data must be transposed, and will increase storage requirements (we store data in both transposed and non-transposed layouts). </p>

<p>Definition at line <a class="el" href="GpuIndexFlat_8h_source.html#l00046">46</a> of file <a class="el" href="GpuIndexFlat_8h_source.html">GpuIndexFlat.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5a2d8737f4277e55fc1a99ef4fc4c630"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool faiss::gpu::GpuIndexFlatConfig::useFloat16Accumulator</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether or not all math is performed in float16, if useFloat16 is specified. If true, we use cublasHgemm, supported only on CC 5.3+. Otherwise, we use cublasSgemmEx. </p>

<p>Definition at line <a class="el" href="GpuIndexFlat_8h_source.html#l00038">38</a> of file <a class="el" href="GpuIndexFlat_8h_source.html">GpuIndexFlat.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/data/users/hoss/faiss/gpu/<a class="el" href="GpuIndexFlat_8h_source.html">GpuIndexFlat.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
